.TH "EBUILD" "1" "Jan 2014" "Portage VERSION" "Portage"
.SH "НАЗВАНИЕ"
ebuild \- низкоуровневый интерфейс системы Portage
.SH "СИНТАКСИС"
.B ebuild
.I файл команда [команда]\fR...
.SH "ОПИСАНИЕ"
Программа ebuild представляет собой низкоуровневый интерфейс
системы Portage. Она обеспечивает возможность непосредственного
взаимодействия со сценарием ebuild при помощи специальных
подкоманд или групп команд, выполняемых в контексте данного файла,
и функций. Утилита ebuild принимает в качестве аргументов
ebuild-сценарий и одну или более команд, подвергает сценарий
синтаксическому анализу и выполняет указанные команды. Имеются
отдельные команды для загрузки исходных файлов, их распаковки,
компиляции, установки объектных файлов во временный каталог image,
установки образа в локальную файловую систему, создания архива
пакета из образа и т.д.
.SH "ФАЙЛ"
Должен быть рабочим ebuild-сценарием. Подробнее смотри в руководстве
по \fBebuild\fR(5).
.SH "КОМАНДЫ"
По умолчанию portage выполняет все функции по порядку вплоть до
указанной, кроме функций, которые уже были вызваны в предыдущих
вызовах ebuild. Например, если вы дадите команду \fBcompile\fR, то
вызовете тем самым и предшествующие ей функции (такие как
\fBsetup\fR и \fBunpack\fR), если они не были запущены в
предыдущем запуске ebuild. Если вы хотите быть уверенным, что
все они были выполнены, вам нужно сначала использовать команду
\fBclean\fR. Если вы хотите, чтобы запускалась только одна команда,
вам следует добавить опцию \fInoauto\fR к значению переменной
окружения \fBFEATURES\fR. Подробнее смотри в справке по \fBmake.conf\fR(5).

.TP
.BR help
Выводит справочную информацию о программе в сжатом изложении,
а также целый ряд сведений о пакете.
.TP
.BR setup
Запускает все действия по настройке данного пакета, в том числе
специфические системные тесты.
.TP
.BR clean
Очищает временный каталог сборки, созданный Portage специально для
этого файла ebuild. Временный каталог сборки обычно содержит
извлеченный из архива исходный код, а также, возможно, так называемый
установочный образ (все файлы, которые будут установлены в локальную
файловую систему или сохранены в пакете). Расположение каталога
сборки определяется значением переменной PORTAGE_TMPDIR. Чтобы узнать
ее текущее значение, выполните \fIemerge \-\-info\fR. О том, как
переопределить эту переменную, смотри \fBmake.conf\fR(5).

Примечание: Portage удаляет практически все данные, оставшиеся после
успешной установки пакета, за исключением тех случаев, когда в
переменной FEATURES явно указано 'noclean'. Если вы добавите noclean
в значение FEATURES, очень скоро большой объем дискового пространства
будет занят ненужными файлами. Не рекомендуется пользоваться этим
режимом постоянно, а лишь в том случае, если исходники пакетов
потребуются вам после установки. Впрочем, возможно и ручное удаление
этих файлов: для этого следует выполнить \fIrm \-rf /var/tmp/portage\fR.
.TP
.BR fetch
Проверяет, все ли источники данных, фигурирующие в SRC_URI, доступны
в каталоге DISTDIR (подробнее см. в \fBmake.conf\fR(5)) и имеют
верную контрольную сумму. Если исходные коды недоступны, будет
предпринята попытка загрузить их с серверов, адреса которых указаны
в SRC_URI. Если для того или иного файла имеется несколько адресов
загрузки, Portage проверит каждый из них и выберет тот сервер,
который ближе. (Точность этого выбора на данный момент не
гарантируется.) В первую очередь всегда обрабатываются зеркала Gentoo
Linux, содержащиеся в переменной GENTOO_MIRRORS. Если по какой-либо
причине контрольная сумма текущих или только что загруженных исходных
кодов не совпадает с контрольной суммой, записанной в файле
files/digest\-[пакет]\-[версия\-ревизия], выводится предупреждение, и
программа ebuild завершает работу с кодом ошибки 1.
.TP
.BR digest
В настоящее время \- эквивалент команды \fImanifest\fR.
.TP
.BR manifest
Обновляет Manifest\-файл пакета. В результате создаются контрольные суммы
для всех файлов, обнаруженных в одном каталоге с обрабатываемым файлом
ebuild, а также содержимое вложенных каталогов подкаталога files.
При этом контрольные суммы генерируются и для всех файлов, перечисленных
в SRC_URI для каждого файла ebuild. Подробнее о поведении данной команды,
см. в разделе о смысле значения \fIassume\-digests\fR переменной
\fBFEATURES\fR справочного руководства по \fBmake.conf\fR(5). Если вы
не хотите, чтобы дайджесты принимались неявно, см. опцию \fB\-\-force\fR.
.TP
.BR unpack
Извлекает исходные коды в подкаталог \fIкаталога сборки\fR (BUILD_PREFIX),
вызывая функцию \fIsrc_unpack()\fR внутри файла ebuild. Если функция
src_unpack() не определена, для распаковки всех файлов, перечисленных в
SRC_URI, будет использована стандартная src_unpack(). Как правило,
исходники распаковываются в каталог ${BUILD_PREFIX}/[пакет]\-[версия-ревизия]/work.
Обращаться к нему можно с помощью переменной ${WORKDIR}.

Создавая файл ebuild самостоятельно, убедитесь, что переменная S
(каталог исходных файлов), определенная в начале ebuild-сценария, указывает
на каталог, в котором действительно содержатся распакованные исходные коды.
По умолчанию он определяется как ${WORKDIR}/${P}, поэтому, как правило,
ничего не требуется исправлять. Функция src_unpack() также отвечает за
наложение патчей перед компиляцией пакетов.
.TP
.BR prepare
Подготавливает извлеченные из архива исходные коды, вызывая функцию
\fIsrc_prepare()\fR, определенную в ebuild-файле. При запуске src_prepare()
текущим рабочим каталогом становится ${S}. Данная функция поддерживается,
начиная с \fBEAPI 2\fR.
.TP
.BR configure
Производит конфигурирование распакованных исходных кодов, вызывая функцию
\fIsrc_configure()\fR, определенную в ebuild-файле. При запуске src_configure()
текущим рабочим каталогом становится ${S}. Данная функция поддерживается
начиная с \fBEAPI 2\fR.
.TP
.BR compile
Компилирует распакованные исходные коды, вызывая функцию \fIsrc_compile()\fR,
определенную в ebuild-файле. При запуске src_compile() текущим рабочим
каталогом становится ${S}. По завершении работы src_compile() исходные
коды должны быть полностью скомпилированы.
.TP
.BR test
Выполняет специальные тесты для отдельных пакетов, проверяя сборку.
.TP
.BR preinst
Выполняет специальные действия для отдельных пакетов, которые
требуется произвести до установки пакета в текущую файловую систему.
.TP
.BR install
Устанавливает пакет во временный \fIкаталог установки\fR, вызывая
функцию \fIsrc_install()\fR. По завершении каталог установки в
(${BUILD_PREFIX}/[пакет]\-[версия\-ревизия]/image) будет содержать
все файлы, которые должны быть либо установлены в текущую файловую
систему, либо включены в бинарный пакет.
.TP
.BR postinst
Выполняет специальные действия для отдельных пакетов, которые
требуется произвести после установки пакета в текущую файловую
систему. Как правило, при этом выводятся полезные сообщения.
.TP
.BR qmerge
Эта функция устанавливает все файлы в \fIкаталоге установки\fR на
текущую файловую систему. Это производится следующим образом:
сначала запускается функция \fIpkg_preinst()\fR (если она существует).
Затем все файлы устанавливаются в файловую систему, а их
контрольные суммы записываются в
\fI/var/db/pkg/${CATEGORY}/${PN}-${PVR}/CONTENTS\fR. Наконец, по
завершении установки всех файлов выполняется функция
\fIpkg_postinst()\fR (если она существует).
.TP
.BR merge
Обычно для установки файла ebuild, необходимо последовательно выполнить
следующие действия: \fIfetch\fR, \fIunpack\fR, \fIcompile\fR,
\fIinstall\fR и \fIqmerge\fR. Если вам нужно только установить
файл ebuild, вы можете использовать данную команду: она сама выполнит
все перечисленные операции и остановится в процессе выполнения только
в том случае, если какая-либо функция отрабатывает с ошибкой.
.TP
.BR unmerge
Эта команда сначала вызывает функцию \fIpkg_prerm()\fR (если она существует).
Затем она удаляет все файлы из текущих файловых систем, файл содержимого
пакета для которых имеет верную контрольную сумму и время изменения.
Все пустые каталоги удаляются вместе с вложенными. Наконец, команда
запускает функцию \fIpkg_postrm()\fR (если она существует). Можно сначала
установить новую версию пакета, а затем удалить прежнюю - собственно,
именно в этом заключается рекомендуемый метод обновления.
.TP
.BR prerm
Запускает для определенного пакета действия, которые необходимо выполнить
до удаления пакета из файловой системы. См. также \fIunmerge\fR.
.TP
.BR postrm
Запускает для определенного пакета действия, которые необходимо выполнить
после удаления пакета из файловой системы. См. также \fIunmerge\fR.
.TP
.BR config
Запускает для определенного пакета действия, которые необходимо выполнить
до начала установки. Как правило, это настройка конфигурационных файлов
или другие настроечные действия, которые пользователь может захотеть
выполнить.
.TP
.BR package
Эта команда очень напоминает \fImerge\fR, за исключением того, что после
загрузки, распаковки, компиляции и установки создается .tbz2-архив
бинарного пакета, который затем сохраняется в каталоге \fBPKGDIR\fR
(см. \fBmake.conf\fR(5)).
.TP
.BR rpm
Собирает RPM\-пакет RedHat из файлов во временном \fIкаталоге установки\fR.
На данный момент сведения о зависимостях файла ebuild не включаются в RPM.
.SH "ОПЦИИ"
.TP
.BR "\-\-debug"
Запустить bash с опцией \-x, в результате чего стандартный вывод будет
включать подробную отладочную информацию.
.TP
.BR "\-\-color < y | n >"
Включить или отключить цветное отображение. Эта опция переопределяет
значение переменной \fINOCOLOR\fR (см. \fBmake.conf\fR(5)) и может быть
использована для принудительного назначения цвета в том случае, если
стандартный вывод - не терминал (по умолчанию цвет включен только в том
случае, если стандартный вывод - терминал).
.TP
.BR "\-\-force"
При использовании в связке с командой digest или manifest данная опция
принудительно генерирует новые дайджесты для всех файлов исходного кода,
относящихся к данному файлу ebuild. Если в каталоге ${DISTDIR} требуемых
исходников нет, они будут автоматически загружены.
.TP
.BR "\-\-ignore\-default\-opts"
Не использовать переменную окружения \fIEBUILD_DEFAULT_OPTS\fR.
.TP
.BR "\-\-skip\-manifest"
Пропустить проверку Manifest-файлов.
.SH "БАГТРЕКЕР"
Об обнаруженных ошибках сообщайте на https://bugs.gentoo.org/
.SH "АВТОРЫ"
.nf
Achim Gottinger <achim@gentoo.org>
Daniel Robbins <drobbins@gentoo.org>
Nicholas Jones <carpaski@gentoo.org>
Mike Frysinger <vapier@gentoo.org>
.fi
.SH "ФАЙЛЫ"
.TP
.B /etc/portage/make.conf
Содержит переменные сборки, имеющие приоритет перед значениями,
указанными в файле make.globals.
.TP
.B /etc/portage/color.map
Содержит переменные, позволяющие назначать пользовательские настройки
цветного вывода.
.SH "СМОТРИ ТАКЖЕ"
.BR emerge (1),
.BR ebuild (5),
.BR make.conf (5),
.BR color.map (5)
.TP
Сценарий \fI/usr/lib/portage/bin/ebuild.sh\fR.
.TP
Вспомогательные приложения в \fI/usr/lib/portage/bin\fR.

.SH "ПЕРЕВОД"
.nf
Переводчик: Елена Гаврилова <e.vl.gavrilova@yandex.ru>
Правка и обновление: Романов Владимир <blueboar2@gmail.com>
Переведенная версия соответствует английской версии от 2013-07-31
.fi
